\chapter{PCRE2正则库简介}

\section{PCRE2正则库}
PCRE(Perl Compatible Regular Expressions)正则库是由菲利普·海泽(Philip Hazel)用\cl%
开发并开源发布的一个正则表达式处理库。PCRE与Perl 5语言正则语法兼容，是一个轻量级
函数库。PCRE十分易用，同时功能也很强大。

PCRE被广泛使用在许多开源软件之中，如Apache HTTP服务器和PHP脚本语言、R脚本语言等，
此外，PCRE也是Perl语言的缺省正则库。

\section{PCRE2的安装}

可以在PCRE的官网(\url{http://www.pcre.org/})下载最新版PCRE的发行版或下载源代码后用
cmake构建安装(参见\cite{cstory2021}第24章)。

如果使用的是Debian Ubuntu，则可以通过apt命令安装PCRE2正则库的开发版：

\begin{minipage}{0.90\textwidth}
  \begin{shell}
    $ sudo apt install libpcre2-dev
  \end{shell}
\end{minipage}

\section{使用PCRE2正则库}

在完成PCRE2正则库安装后，就可以通过\cinline{#include <pcre2.h>}包含PCRE2%
头文件后使用PCRE2正则库。

由于PCRE2正则库支持8位、16位和32位字符宽度的支持，在引入\cinline{pcre2.h}头文件之前
需要使用类似\cinline{#define PCRE2_CODE_UNIT_WIDTH 8}的宏定义指定字符宽度。

在构建基于PCRE2源代码时，需要根据字符宽度使用\cinline{-lpcre2-8}、\cinline{-lpcre2-16}%
或 \cinline{-lpcre2-32} 链接参数，建议使用如下Makefile实现项目管理：

\begin{minipage}{0.90\textwidth}
  \basemakefile{pcre2-regex/codes/demo1/Makefile}
\end{minipage}
